High definition television (HDTV) promises to offer a wider viewing area and improved image quality when compared with today's However, an uncompressed digital HDTV channel may require transmission bandwidth up to one gigabit per second. It is therefore desirable to compress the HDTV signal in a manner such that image quality is not significantly reduced and yet the HDTV signal can be transmitted at lower speeds. One of the main difficulties in compressing HDTV signals is the relatively high computation speeds required of the digital circuitry performing the encoding processes that achieve the compression. This difficulty is exacerbated when state-of-the-art compression algorithms are employed since these algorithms obtain increased compression only through increased complexity of calculation. The increased complexity of calculation requires that more computation be performed in the available time thereby requiring each processing unit to operate faster. The requirement of performing complex computations at high speeds can significantly increase the cost of an HDTV coder.
The division of the overall computation problem into smaller tasks is proposed to solve this problem of requiring costly circuitry for achieving highly compressed HDTV signals. One such division, a piplelined system, reduces the amount of computation performed by any particular processing unit. Each processing unit performs a small portion of the overall task and passes the result to the next processing unit. However, with this arrangement, each processing unit must still perform its assigned processing task on all the pels in the HDTV image at the high speed of the original signal.
Another possible solution is to divide the HDTV image into sub-images and to process all the sub-images in parallel. Such a solution seeks to utilize slower and therefore cheaper processing circuits to accomplish the desired compression. A single encoder performs the entire compression algorithm for an individual sub-image. Only input of that portion of the original HDTV signal representing the sub-image and output of the encoded signals representing the sub-image after compression need be performed at a high speed. This input and output activity is bursty in nature since it occurs only for a short period of time relative to the transmission time of the entire uncompressed image. Actual processing of the pels contained within each sub-image by an encoder can take place at a much slower rate between the bursts of image signal input and output.
The complexity of each sub-image may vary considerably. It is desirable to allocate more bandwidth to those sub-images that are more complex since the effectiveness of compression algorithms decreases as image complexity increases. Thus, a problem with an arrangement as described above is how to specify a bit rate for each encoder so as to allocate the available bandwidth most efficiently. Predetermined bit rate assignment is inefficient because it is unable to adjust for differences in image complexity and may thereby result in variations in the quality of different areas of the image that is reconstructed from the compressed signal. Viewers' perceptions of such variations in the quality of the reconstructed image are negative. Prior attempts to dynamically allocate the available bandwidth among the various video coders required knowledge by an allocation unit of the variance of each individual sub-image. Extensive computing capacity at high speeds is required to compute the variance of a sub-image in the limited time available because the variance is a complex calculation. This requirement of high speed calculations causes dynamic allocation units that compute variances to be expensive.